package cn.edu.scau.cmi.zhangmingxing.composite.consistent;

import java.util.HashSet;
import java.util.Set;

public abstract class ConsistentComponent {
//	(1)父节点。
	
	ConsistentComponent parent=null;
	

	//	(2)子节点作为其组成部分。
	Set<ConsistentComponent> children=null;
	//	(3)业务功能
	public abstract String doSomething();
	
	//	(4)对包含对象的功能
	public abstract ConsistentComponent getParent();

	//	(5)对构成部分管理的功能，这些和安全性组合模式不同
	public abstract ConsistentComponent addChild(ConsistentComponent child);
	public abstract ConsistentComponent deleteChild(ConsistentComponent child);
	public abstract Set<ConsistentComponent> getChildren();
	public abstract String toString();
}
